import { AppModel } from '../../models/app.js'
const ModelApp = new AppModel()
import { PayModel } from '../../models/pay.js'
const Modelpay = new PayModel()
const App = getApp()
Page({
  /**
     * 页面的初始数据
     */
  data: {
    isLogined: true,
    gold: null,
    redid: '',
    bossid: '',
    redPacketGetList: [],
    goldRule: {},
    isBack: false,
    noneData: false,
    code: 0,
    loadDone: false,
    statusBarHeight: App.globalData.statusBarHeight,
    isTabbar:true
  },
  /**
     * 生命周期函数--监听页面加载
     */
  onLoad: function(options) {
    console.log('======================red onLoad=========================')
    if (options.scene) {
      let scene = decodeURIComponent(options.scene)
      //&是我们定义的参数链接方式
      this.data.bossid = scene.split('&')[0]
      this.data.redid = scene.split('&')[1]
    } else {
      // 好友链接
      this.data.bossid = options.bossid
      this.data.redid = options.redid // 红包id
    }
    // 存储bossid
    wx.setStorageSync('bossid', this.data.bossid)
    // 初始化
    this.init()
    // 查询红包使用规则
    this.queryGold()
  },
  onShow: function() {
    console.log('onShow')
    if (this.data.gold) {
      // 看看大家手气
      this.handRed()
    }
  },
  // 登陆成功，由login组件触发
  loginSuccess() {
    this.setData({
      isLogined: true
    })
    // 成功后操作
    // 领红包
    this.collarRed()
  },
  // 用户登录
  init() {
    const _this = this
    App.getVipInfo(function(userInfo) {
      if (!userInfo) {
        console.log('没有token,获取用户信息失败')
        _this.setData({
          isLogined: false
        })
        // 有用户信息了可以正常请求数据
      } else {
        // 领红包
        _this.collarRed()
      }
    })
  },
  // 领红包
  collarRed() {
    // 如果领取了之后不可以再请求
    if (this.data.gold) {
      return
    }
    const _this = this
    const params = {
      packetCode: this.data.redid
    }

    // 领取红包。领取之后看手气
    ModelApp.collarRed(params)
      .then(res => {
        _this.setData({
          gold: res.data.gold
        })
        // 看看大家手气
        _this.handRed()
      })
      .catch(err => {
        _this.setData({
          noneData: true,
          code: err.status
        })
        // 领红包记录
        _this.handRed()
      })
  },

  //看大家手气
  handRed() {
    const _this = this
    const params = {
      packetCode: this.data.redid
    }
    ModelApp.handRed(params).then(res => {
      const redPacketGetList = res.data.redPacketGetList
      // for (var i = 0; i < redPacketGetList.length; i++){
      //   redPacketGetList[i].nickName = decodeURIComponent(redPacketGetList[i].nickName)
      // }
      _this.setData({
        redPacketGetList: redPacketGetList
      })
      // 结束下来刷新
      wx.stopPullDownRefresh()
    })
  },
  //查询红包使用规则,每笔订单至少得使用多少
  queryGold() {
    const _this = this
    const params = {}
    Modelpay.queryGold(params)
      .then(res => {
        _this.setData({
          goldRule: res.data.goldList[0]
        })
      })
      .catch()
  },
  //立即使用
  use() {
    wx.reLaunch({
      url: `/pages/home/index`
    })
  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {
    // 看看大家手气
    this.handRed()
  }
})
